<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 
        遍历排序 随机生成10个10-100之间不重复的随机整数，放入新的数组，并将数组利用for循环
        按照从小到大的顺序进行排序
     -->
</head>

<body>

</body>
<script>
    let n = 10; //数组个数
    //生成一个数组，由10个10-100之间不重复的随机整数组成
    let arr = getNewArr(n, 10, 100);
    // console.log(arr);//生成的数组
    console.log(sort(arr));


    //数组排序 - 冒泡排序
    function sort(arr) {
        for (let i = 0; i < arr.length; i++) {
            for (let j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    let temp;
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        return arr;
    }


    //生成数组函数，数组由n个min到max之间不重复的数生成
    function getNewArr(n, min, max) {
        let arr = [];
        for (let i = 0; i < n; i++) {
            let num;
            num = parseInt(Math.random() * (max - min + 1)) + min;
            // console.log(i, num, arr);//测试
            //如果随机数在数组中则重新生成随机数
            while (inArr(num, arr)) {
                num = parseInt(Math.random() * (max - min + 1)) + min;
            }
            arr[i] = num;
        }
        return arr;
    }
    //判断数在数组中
    function inArr(n, arr) {
        let flag = false;
        for (let i = 0; i < arr.length; i++) {
            if (n == arr[i]) {
                flag = true;
            }
        }
        return flag;
    }
</script>

</html>